package com.lboyang.remoting.transport;

import com.lboyang.common.dto.NrpcRequest;
import com.lboyang.common.extension.SPI;


/**
 * @Description: 定义请求传输的顶层接口
 *  可以通过 SPI 自由扩展，但是本项目没有实现，有能力可以自己扩展。
 *
 *  SPI （Service Provider Interface）是面向接口编程，标准定义顶层接口，
 *  服务提供者可以自己提供服务实现，通过配置更换实现类。
 *
 * @Date 2021/9/11 20:58
 * @author: A.iguodala
 */
@SPI
public interface NrpcRequestTransport {


    /**
     * 发送 rpc 请求并获得响应
     * @param rpcRequest
     * @return
     */
    Object sendRpcRequest(NrpcRequest rpcRequest);
}
